package com.bid.base.common.util;

import java.io.File;

import net.coobird.thumbnailator.Thumbnails;
/**
 * <strong>Description : </strong> <br>
 * <p>
 * <strong>北京正源德标科技信息有限责任公司</strong> <br>
 * </p>
 * <br>
 *
 * @author : zhaots
 * @date Date : 2020年12月07日 18:22
 * 修改人 修改日期 修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public class ThumbUtils {

//	private static String picSuffix="jpg";//默认jpg后缀
	
	public static String MIDDLE="-middle";//默认jpg后缀
	
	/**
	 * @param picPath 是服务器存放文件路径
	 * @desc 中图<br>
	 * 压缩文件的路径：是和原文件一个路径，
	 * 压缩文件名称：是原文件名称+"middle.jpg"
	 * @throws Exception 
	 * @return String 压缩图片的全路径
	 */
	public static String compressPic_middle(String picPath) throws Exception{
		boolean b=fileExists(picPath);
		if(!b){
			throw new RuntimeException("图片不存在，无法压缩");
		}
		String picSuffix=picPath.substring((picPath.lastIndexOf(".")+1),picPath.length());
		String middlePicPath=picPath.substring(0,picPath.lastIndexOf("."))+MIDDLE; 
		 Thumbnails.of(picPath).outputFormat(picSuffix) 
         .outputQuality(0.5f).scale(1.0f)  //缩小50%  
         .toFile(middlePicPath);
		 return middlePicPath+"."+picSuffix;
	}

	/**
	 * @desc 小图<br>
	 * picPath是服务器存放文件路径
	 * 压缩文件的路径：是和原文件一个路径，
	 * 压缩文件名称：是原文件名称+"little.jpg"
	 * @return String 压缩图片的全路径
	 */
	public static String compressPic_little(String picPath) throws Exception{
		boolean b=fileExists(picPath);
		if(!b){
			throw new RuntimeException("图片不存在，无法压缩");
		}
		String picSuffix=picPath.substring((picPath.lastIndexOf(".")+1),picPath.length());
		String littlePicPath=picPath.substring(0,picPath.lastIndexOf("."))+"-little"; 
		Thumbnails.of(picPath).size(200, 200).outputFormat(picSuffix).outputQuality(0.5f)
        .toFile(littlePicPath);
		 return littlePicPath+"."+picSuffix;
	}
	private static boolean fileExists(String picPath) {
		return new File(picPath).exists();
	}
	
//	public static void main(String[] args) throws Exception {
//			String path="D:/temp/test/test.png";
//			String compressPic_middle = ThumbUtils.compressPic_middle(path);
//			String compressPic_little = ThumbUtils.compressPic_little(path);
//			System.out.println(compressPic_middle);
//			System.out.println(compressPic_little);
//	}
	
}
